/**
 * Iniciação Científica - SAE-CNPQ - 2013/2013
 * autor: Agnaldo A Esmael
 * Orientadores: Prof. Dr Ricardo Torres e Dr. Jefersson A Santos
 */
package model;

import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
import java.util.ArrayList;

import javax.media.jai.PlanarImage;
import javax.swing.JDesktopPane;

import util.PixelAnotado;

import control.Dados;

/**
 * @author agnaldo
 *
 */
public class DadosGerais implements Dados {

	private PlanarImage originalImage;
	private BufferedImage currentImage, copyImage;
	private ArrayList<PixelAnotado> vetorAnotacao, vetorResultado;
	private float fatorZoom = 1;
	
	
	
	/**
	 * 
	 */
	public DadosGerais() {
		
	}//fim construtor

	
	@Override
	public BufferedImage getBufferedImage() {
		
		return currentImage;
	}

	
	@Override
	public void setBufferedImage(BufferedImage image) {
		currentImage = image;
	}

	
	@Override
	public ArrayList <PixelAnotado> getUserAnotation() {
		return vetorAnotacao;
	}

	
	@Override
	public void setUserAnotation(ArrayList<PixelAnotado> novaAnotacao) {
		vetorAnotacao = novaAnotacao;
	}

	
	public ArrayList<PixelAnotado> getClassificationResult() {
		return vetorResultado;
	}


	public void setClassificationResult(ArrayList<PixelAnotado> vetorResultado) {
		this.vetorResultado = vetorResultado;
	}


	
	@Override
	public float getZoom() {
		return fatorZoom;
	}

	
	@Override
	public void setZoom(float zoom) {
		fatorZoom = zoom;
	}


	@Override
	public PlanarImage getImage() {
		return originalImage;
	}


	@Override
	public void setImage(PlanarImage image) {
		originalImage = image;
		//Dimension d = new Dimension(image.getWidth(), image.getHeight());
		ColorModel cm = PlanarImage.createColorModel( image.getSampleModel() );
		currentImage = image.getAsBufferedImage( null , cm);
	}


	@Override
	public void clean() {
		currentImage = null;
		copyImage = null;
		vetorAnotacao = null;
		vetorResultado = null;
		originalImage = null;
		fatorZoom = 1;
		
	}

}
